e526d27c2b9ca80fc12ccb953af70eb83dac2a79,app/src/main/java/com/marz/snapprefs/Saving.java,Saving,handleSnapHeader,#Context#Object#,738

Before Change


            Logger.printMessage("Snap already completed", LogType.SAVING);

        if (shouldAutoSave(snapData)) {
            snapData.addFlag(FlagState.PROCESSING);
            if (asyncSaveMode && snapData.hasFlag(FlagState.COMPLETED))
                AsyncTaskCompat.executeParallel(new AsyncSaveSnapData(), context, snapData);
            else
                handleSave(context, snapData);
        } else {
            Logger.printFinalMessage("Not saving this round", LogType.SAVING);
            printFlags(snapData);

After Change


        Logger.printMessage("Key: " + mKey, LogType.SAVING);
        Logger.printMessage("Sender: " + obfus(strSender), LogType.SAVING);

        SnapData snapData = hashSnapData.get(mKey);

        printFlags(snapData);

        if (snapData != null && scanForExisting(snapData, FlagState.HEADER)) {
            Logger.printFinalMessage("Existing SnapData with HEADER found", LogType.SAVING);
            return;
        } else if (snapData == null) {
            // If the snapdata doesn't exist, create a new one with the provided mKey
            Logger.printMessage("No SnapData found for Header... Creating new", LogType.SAVING);
            snapData = new SnapData(mKey);
            hashSnapData.put(mKey, snapData);
            Logger.printMessage("Hash Size: " + hashSnapData.size(), LogType.SAVING);
        }

        if (!snapData.hasFlag(FlagState.COMPLETED)) {
            long lngTimestamp = (Long) callMethod(receivedSnap, Obfuscator.save.SNAP_GETTIMESTAMP);
            Date timestamp = new Date(lngTimestamp);
            String strTimestamp = dateFormat.format(timestamp);

            Logger.printMessage("Timestamp: " + strTimestamp, LogType.SAVING);

            snapData.setHeader(mId, mKey, strSender, strTimestamp, snapType);
            Logger.printMessage("Header attached", LogType.SAVING);
        } else
            Logger.printMessage("Snap already completed", LogType.SAVING);

        if (shouldAutoSave(snapData)) {
            selectSaveType(snapData, context);
        } else {
            printFlags(snapData);
            Logger.printFinalMessage("Not saving this round", LogType.SAVING);